/*********************************************************************************************************
* 模块名称：OLED.h
* 摘    要：OLED模块
* 当前版本：1.0.0
* 作    者：jadewo
* 完成日期：2025年05月22日 
* 内    容：OLED
* 注    意：                                                                  
**********************************************************************************************************
* 取代版本：
* 作    者：
* 完成日期：
* 修改内容：
* 修改文件：
*********************************************************************************************************/
#ifndef _OLED_H_
#define _OLED_H_

/*********************************************************************************************************
*                                              包含头文件
*********************************************************************************************************/

/*********************************************************************************************************
*                                              宏定义
*********************************************************************************************************/
#define OLED_MODE 0
#define SIZE 8
#define XLevelL		0x00
#define XLevelH		0x10
#define Max_Column	128
#define Max_Row		32
#define	Brightness	0xFF 
#define X_WIDTH 	128
#define Y_WIDTH 	32	   

//-----------------OLED 软件I2C端口定义----------------  					   
#define OLED_SCLK_Clr() gpio_bit_reset(GPIOB, GPIO_PIN_6)   //设置Pin脚为高电平
#define OLED_SCLK_Set() gpio_bit_set(GPIOB, GPIO_PIN_6)     //SCL IIC接口的时钟信号

#define OLED_SDIN_Clr() gpio_bit_reset(GPIOB, GPIO_PIN_7)   //SCL IIC接口的数据信号
#define OLED_SDIN_Set() gpio_bit_set(GPIOB, GPIO_PIN_7)
 		     
#define OLED_CMD  0	//写命令
#define OLED_DATA 1	//写数据

#define S_I2C 	  1 //软件IIC或硬件IIC开关

   
/*********************************************************************************************************
*                                              枚举结构体
*********************************************************************************************************/

/*********************************************************************************************************
*                                              API函数声明
*********************************************************************************************************/

//OLED控制用函数
void OLED_Display_On(void);
void OLED_Display_Off(void);	   							   		    
void OLED_Init(void);
void OLED_Clear(void);
void OLED_DrawPoint(unsigned char x,unsigned char y,unsigned char t);
void OLED_Fill(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2,unsigned char dot);
void OLED_ShowChar(unsigned char x,unsigned char y,unsigned char chr,unsigned char Char_Size);
void OLED_ShowNum(unsigned char x,unsigned char y,unsigned int num,unsigned char len,unsigned char size);
void OLED_ShowString(unsigned char x,unsigned char y, unsigned char *p,unsigned char Char_Size);	 
void OLED_Set_Pos(unsigned char x, unsigned char y);
void OLED_ShowCHinese(unsigned char x,unsigned char y,unsigned char no);
void OLED_DrawBMP(unsigned char x0, 
				unsigned char y0,
				unsigned char x1, 
				unsigned char y1,
				unsigned char BMP[]);

#endif
